﻿// 3554. 二进制.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <vector>

using namespace std;
/*
https://www.acwing.com/problem/content/3557/
给定一个长度为 32位的二进制数 n，请你计算并输出 n+1和 n+3的二进制表示结果。

注意，结果不能忽略前导 0（不够 32位的用前导 0补足 32位，超过 32 位的不用补前导 0）。

输入格式
第一行包含整数 T，表示共有 T组测试数据。

每组数据占一行，包含一个长度为 32的 01字符串。

输出格式
每组数据输出两行，第一行为 n+1的二进制表示结果，第二行为 n+3的二进制表示结果。

数据范围
1≤T≤100
输入样例：
2
00000000000000000000000000000000
00000000000000000000000000000001
输出样例：
00000000000000000000000000000001
00000000000000000000000000000011
00000000000000000000000000000010
00000000000000000000000000000100
*/

void printBin(long long x) {
	vector<int> v;

	while (x != 0) {
		if (x & 1) {
			v.push_back(1);
		}
		else {
			v.push_back(0);
		}
		x >>= 1;
	}

	if (v.size() != 32) {
		for (int i = 0; i + v.size() < 32; i++) {
			cout << 0;
		}
	}
	for (int i = v.size() - 1; i >= 0; i--) {
		cout << v[i];
	}
	cout << endl;

}

long long toNums(const string& str) {
	long long res = 0;
	for (int i = str.size()-1; i >=0; i--) {
		if (str[i] == '1') {
			res += (long long)1 << (str.size()-1-i);
		}
	}
	return res;
}


int main()
{
	int t;
	cin >> t;
	while (t--) {
		string str;
		cin >> str;
		long long n = toNums(str);
		printBin(n + 1);
		printBin(n + 3);
	}

	return 0;
}
 